#ifndef __DEVICE_H__
#define __DEVICE_H__

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
#include "vipaccount.h"

/*用一个链表来管理设备,再用一个链表来管理账户密码*/
// 单个节点(设备)
typedef struct device
{
    int device_id;          //设备id
    char device_name[50];   //设备名字
    char device_type[10];   //设备类型
    bool device_state;      //设备当前状态
    struct device *prev;
    struct device *next;
} device_t;

// 设备双向链表管理者
typedef struct manager
{
    int num;
    struct device *head;
    struct device *tail;
} manager_t;



// 创建设备管理节点
manager_t *createDoublyCircularLinkedList_manager();
// 创建节点(一本设备相当于一个节点)
device_t *createDoubleCircularLinkedList_Node(int device_id,char device_name[50],char device_type[10],bool device_state);
// 插入节点(设备)
bool DoubleCircularLinkedList_Push(manager_t *Pmanager, int device_id,char device_name[50],char device_type[10],bool device_state);
// 删除节点(设备)
bool DoubleCircularLinkedList_Delete(manager_t *Pmanager, int find_device_id);
// 打印所有设备信息
bool DoubleCircularLinkedList_Print(manager_t *Pmanager);




#endif